
public class AktorN2 {
	private int zustand;
	private WeltN2 weltN;
	public AktorN2(){
		zustand = 0;
		this.weltN = null;
	}
	public void setWeltN(WeltN2 welt){
		this.weltN = welt;
	}
	

	public void arbeite(){
		AktorN2.waitSec(5);
		while (zustand < 2){ //ab Zustand 1 wird terminiert
			Punkt input = weltN.getPosistion();
			lambda(input);
			delta(input);
			AktorN2.waitSec(5);
		}
	}
	
	private void lambda(Punkt input){
		//konkretes Beispiel
		switch (zustand){
		case 0: //zustand z0 
			if (input.getX() == 1){ 
				weltN.gehe(new Punkt(-1,0));  //nach links
			}else{
				weltN.gehe(new Punkt(0,0)); //nichts tun
			}
			break;
		case 1:	//zustand z1
			if (input.getX() == 1){ 
				weltN.gehe(new Punkt(-1,1));  //nach links, oben
			}else{
				weltN.gehe(new Punkt(0,0)); //nichts tun
			}
			break;
		}
	}

	private void delta(Punkt input){
		//konkretes Beispiel
		switch (zustand){
		case 0: //zustand z0 
			if (input.getX() == 1){ 
				zustand = 1;
			}else{
				zustand = 2; //ende
			}
			break;
		case 1:	//zustand z1
			if (input.getX() == 1){ 
				zustand = 0;
			}else{
				zustand = 2; //ende
			}
			break;
		}
	}
	
	public static void waitSec(long s) {
     try {
       Thread.sleep(s * 1000);
       }
     catch (InterruptedException e) {
       e.printStackTrace();
      }
  }
}
